<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Flow: flow::net_flow::Peer_socket_receive_stats Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Flow<span id="projectnumber">&#160;2.0.0</span>
   </div>
   <div id="projectbrief">Flow project: Full implementation reference.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceflow.html">flow</a></li><li class="navelem"><a class="el" href="namespaceflow_1_1net__flow.html">net_flow</a></li><li class="navelem"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html">Peer_socket_receive_stats</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">flow::net_flow::Peer_socket_receive_stats Struct Reference</div></div>
</div><!--header-->
<div class="contents">

<p>A data store that keeps stats about the incoming direction of a <a class="el" href="classflow_1_1net__flow_1_1Peer__socket.html" title="A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes an...">Peer_socket</a> connection to another Flow-protocol <a class="el" href="classflow_1_1net__flow_1_1Peer__socket.html" title="A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes an...">Peer_socket</a>.  
 <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="info_8hpp_source.html">info.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for flow::net_flow::Peer_socket_receive_stats:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflow_1_1net__flow_1_1Peer__socket__receive__stats__inherit__graph.svg" width="151" height="143"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for flow::net_flow::Peer_socket_receive_stats:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflow_1_1net__flow_1_1Peer__socket__receive__stats__coll__graph.svg" width="575" height="431"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aafe39b306483c4175593c10209280808"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aafe39b306483c4175593c10209280808">Peer_socket_receive_stats</a> ()</td></tr>
<tr class="memdesc:aafe39b306483c4175593c10209280808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs object by initializing stats to their initial values.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aafe39b306483c4175593c10209280808">More...</a><br /></td></tr>
<tr class="separator:aafe39b306483c4175593c10209280808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19d651860486de148e6e46466a5048e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a19d651860486de148e6e46466a5048e0">output</a> (std::ostream *os) const</td></tr>
<tr class="memdesc:a19d651860486de148e6e46466a5048e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs the current stats, across multiple lines but not ending with a newline, into the given output stream.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a19d651860486de148e6e46466a5048e0">More...</a><br /></td></tr>
<tr class="separator:a19d651860486de148e6e46466a5048e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:abacc466e97f1d85856572536d67adcde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceflow.html#a9d9cc2eeb10d398cff5591d446b763b8">Fine_time_pt</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#abacc466e97f1d85856572536d67adcde">m_init_time</a></td></tr>
<tr class="memdesc:abacc466e97f1d85856572536d67adcde"><td class="mdescLeft">&#160;</td><td class="mdescRight">The time this object (or source object from assignment) was made; should be about equal to when socket was made.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#abacc466e97f1d85856572536d67adcde">More...</a><br /></td></tr>
<tr class="separator:abacc466e97f1d85856572536d67adcde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a132cb2a966ede1bf5fe363e5885a0f64"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64">m_total_data_size</a></td></tr>
<tr class="memdesc:a132cb2a966ede1bf5fe363e5885a0f64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes in DATA packets received on socket.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64">More...</a><br /></td></tr>
<tr class="separator:a132cb2a966ede1bf5fe363e5885a0f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a893ca5129ab56fd57de0cdee92e59bd7"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7">m_total_data_count</a></td></tr>
<tr class="memdesc:a893ca5129ab56fd57de0cdee92e59bd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of DATA packets received on socket.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7">More...</a><br /></td></tr>
<tr class="separator:a893ca5129ab56fd57de0cdee92e59bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f72081dd9ff7c2c47a938d2a6b041c"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c">m_good_data_size</a></td></tr>
<tr class="memdesc:a70f72081dd9ff7c2c47a938d2a6b041c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64" title="Bytes in DATA packets received on socket.">m_total_data_size</a>, the data that were new and acceptable into Receive buffer assuming there was space.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c">More...</a><br /></td></tr>
<tr class="separator:a70f72081dd9ff7c2c47a938d2a6b041c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b59e09a406cfdc9f8da89213e18a0c4"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4">m_good_data_count</a></td></tr>
<tr class="memdesc:a8b59e09a406cfdc9f8da89213e18a0c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7" title="Number of DATA packets received on socket.">m_total_data_count</a>, the data that were new and acceptable into Receive buffer assuming there was space.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4">More...</a><br /></td></tr>
<tr class="separator:a8b59e09a406cfdc9f8da89213e18a0c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cb56a1cc4e070af33d47ab3ff662801"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3cb56a1cc4e070af33d47ab3ff662801">m_good_data_accepted_size</a></td></tr>
<tr class="memdesc:a3cb56a1cc4e070af33d47ab3ff662801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c" title="Of m_total_data_size, the data that were new and acceptable into Receive buffer assuming there was sp...">m_good_data_size</a>, the data that were not dropped (so either delivered into Receive buffer or queued for reassembly later).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3cb56a1cc4e070af33d47ab3ff662801">More...</a><br /></td></tr>
<tr class="separator:a3cb56a1cc4e070af33d47ab3ff662801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0be15a545183127725bbd2ebf227e0a"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac0be15a545183127725bbd2ebf227e0a">m_good_data_accepted_count</a></td></tr>
<tr class="memdesc:ac0be15a545183127725bbd2ebf227e0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4" title="Of m_total_data_count, the data that were new and acceptable into Receive buffer assuming there was s...">m_good_data_count</a>, the data that were not dropped (so either delivered into Receive buffer or queued for reassembly later).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac0be15a545183127725bbd2ebf227e0a">More...</a><br /></td></tr>
<tr class="separator:ac0be15a545183127725bbd2ebf227e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cd0a3d7bb93f87bcf6e4cf23755d171"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a0cd0a3d7bb93f87bcf6e4cf23755d171">m_good_data_delivered_size</a></td></tr>
<tr class="memdesc:a0cd0a3d7bb93f87bcf6e4cf23755d171"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3cb56a1cc4e070af33d47ab3ff662801" title="Of m_good_data_size, the data that were not dropped (so either delivered into Receive buffer or queue...">m_good_data_accepted_size</a>, the data that were delivered into Receive buffer (either immediately upon receipt or upon later reassembly).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a0cd0a3d7bb93f87bcf6e4cf23755d171">More...</a><br /></td></tr>
<tr class="separator:a0cd0a3d7bb93f87bcf6e4cf23755d171"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e3501311edb5318fe3b9c8911b61b26"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7e3501311edb5318fe3b9c8911b61b26">m_good_data_delivered_count</a></td></tr>
<tr class="memdesc:a7e3501311edb5318fe3b9c8911b61b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac0be15a545183127725bbd2ebf227e0a" title="Of m_good_data_count, the data that were not dropped (so either delivered into Receive buffer or queu...">m_good_data_accepted_count</a>, the data that were delivered into Receive buffer (either immediately upon receipt or upon later reassembly).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7e3501311edb5318fe3b9c8911b61b26">More...</a><br /></td></tr>
<tr class="separator:a7e3501311edb5318fe3b9c8911b61b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9df996e495e6181f778dabeec446fd3e"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a9df996e495e6181f778dabeec446fd3e">m_good_data_first_qd_size</a></td></tr>
<tr class="memdesc:a9df996e495e6181f778dabeec446fd3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3cb56a1cc4e070af33d47ab3ff662801" title="Of m_good_data_size, the data that were not dropped (so either delivered into Receive buffer or queue...">m_good_data_accepted_size</a>, the data that were, upon receipt, queued for reassembly (not immediately delivered into Receive buffer).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a9df996e495e6181f778dabeec446fd3e">More...</a><br /></td></tr>
<tr class="separator:a9df996e495e6181f778dabeec446fd3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefc1dc66a538c0cf28aa620d4e02fdf5"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aefc1dc66a538c0cf28aa620d4e02fdf5">m_good_data_first_qd_count</a></td></tr>
<tr class="memdesc:aefc1dc66a538c0cf28aa620d4e02fdf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac0be15a545183127725bbd2ebf227e0a" title="Of m_good_data_count, the data that were not dropped (so either delivered into Receive buffer or queu...">m_good_data_accepted_count</a>, the data that were, upon receipt, queued for reassembly (not immediately delivered into Receive buffer).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aefc1dc66a538c0cf28aa620d4e02fdf5">More...</a><br /></td></tr>
<tr class="separator:aefc1dc66a538c0cf28aa620d4e02fdf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacc55c11d8c8e74d4c74a257faea5af1"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aacc55c11d8c8e74d4c74a257faea5af1">m_good_data_dropped_buf_overflow_size</a></td></tr>
<tr class="memdesc:aacc55c11d8c8e74d4c74a257faea5af1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c" title="Of m_total_data_size, the data that were new and acceptable into Receive buffer assuming there was sp...">m_good_data_size</a>, the data that were dropped due to insufficient Receive buffer space.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aacc55c11d8c8e74d4c74a257faea5af1">More...</a><br /></td></tr>
<tr class="separator:aacc55c11d8c8e74d4c74a257faea5af1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4024ec4c241badb79f8e0735f093c9e"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#af4024ec4c241badb79f8e0735f093c9e">m_good_data_dropped_buf_overflow_count</a></td></tr>
<tr class="memdesc:af4024ec4c241badb79f8e0735f093c9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4" title="Of m_total_data_count, the data that were new and acceptable into Receive buffer assuming there was s...">m_good_data_count</a>, the data that were dropped due to insufficient Receive buffer space.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#af4024ec4c241badb79f8e0735f093c9e">More...</a><br /></td></tr>
<tr class="separator:af4024ec4c241badb79f8e0735f093c9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac60c34ed6092ae16ad85224f2ec0f0d0"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac60c34ed6092ae16ad85224f2ec0f0d0">m_good_data_dropped_reassembly_q_overflow_size</a></td></tr>
<tr class="memdesc:ac60c34ed6092ae16ad85224f2ec0f0d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c" title="Of m_total_data_size, the data that were new and acceptable into Receive buffer assuming there was sp...">m_good_data_size</a>, the data that were dropped due to insufficient Receive reassembly queue space (only possible when retransmission is enabled).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac60c34ed6092ae16ad85224f2ec0f0d0">More...</a><br /></td></tr>
<tr class="separator:ac60c34ed6092ae16ad85224f2ec0f0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae37bfa34fa9e980357de1073356bedb6"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae37bfa34fa9e980357de1073356bedb6">m_good_data_dropped_reassembly_q_overflow_count</a></td></tr>
<tr class="memdesc:ae37bfa34fa9e980357de1073356bedb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4" title="Of m_total_data_count, the data that were new and acceptable into Receive buffer assuming there was s...">m_good_data_count</a>, the data that were dropped due to insufficient Receive reassembly queue space (only possible when retransmission is enabled).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae37bfa34fa9e980357de1073356bedb6">More...</a><br /></td></tr>
<tr class="separator:ae37bfa34fa9e980357de1073356bedb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaab5980acef9c4e7c002daab7397f94a"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aaab5980acef9c4e7c002daab7397f94a">m_error_data_size</a></td></tr>
<tr class="memdesc:aaab5980acef9c4e7c002daab7397f94a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64" title="Bytes in DATA packets received on socket.">m_total_data_size</a>, the data that contained some error about the sequence numbers so that they were not acceptable, and the connection did/will close as a result.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#aaab5980acef9c4e7c002daab7397f94a">More...</a><br /></td></tr>
<tr class="separator:aaab5980acef9c4e7c002daab7397f94a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6f4932b1bc69286febd8277835d034f"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ad6f4932b1bc69286febd8277835d034f">m_error_data_count</a></td></tr>
<tr class="memdesc:ad6f4932b1bc69286febd8277835d034f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7" title="Number of DATA packets received on socket.">m_total_data_count</a>, the data that contained some error about the sequence numbers so that they were not acceptable, and the connection did/will close as a result.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ad6f4932b1bc69286febd8277835d034f">More...</a><br /></td></tr>
<tr class="separator:ad6f4932b1bc69286febd8277835d034f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a470a0b7806640ccf2da849c49996dd15"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a470a0b7806640ccf2da849c49996dd15">m_late_or_dupe_data_size</a></td></tr>
<tr class="memdesc:a470a0b7806640ccf2da849c49996dd15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64" title="Bytes in DATA packets received on socket.">m_total_data_size</a>, the data that had either already been received before or (more likely) had been considered Dropped by now; therefore these data not delivered to Receive buffer.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a470a0b7806640ccf2da849c49996dd15">More...</a><br /></td></tr>
<tr class="separator:a470a0b7806640ccf2da849c49996dd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7336961c1e0e488649311ada7cf0dc2a"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7336961c1e0e488649311ada7cf0dc2a">m_late_or_dupe_data_count</a></td></tr>
<tr class="memdesc:a7336961c1e0e488649311ada7cf0dc2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7" title="Number of DATA packets received on socket.">m_total_data_count</a>, the data that had either already been received before or (more likely) had been considered Dropped by now; therefore these data not delivered to Receive buffer.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7336961c1e0e488649311ada7cf0dc2a">More...</a><br /></td></tr>
<tr class="separator:a7336961c1e0e488649311ada7cf0dc2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b46c0670b98a87e106a91758a02f35"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ab1b46c0670b98a87e106a91758a02f35">m_presumed_dropped_data_size</a></td></tr>
<tr class="memdesc:ab1b46c0670b98a87e106a91758a02f35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of bytes in hypothetical data packets that have been considered Dropped due to the number of later packets that have been received.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ab1b46c0670b98a87e106a91758a02f35">More...</a><br /></td></tr>
<tr class="separator:ab1b46c0670b98a87e106a91758a02f35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6946add6977b28e244c69606fd14db03"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a6946add6977b28e244c69606fd14db03">m_total_to_send_acks_data_size</a></td></tr>
<tr class="memdesc:a6946add6977b28e244c69606fd14db03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bytes in received DATA packets acknowledged thus far or that have been received and are pending to be acknowledged.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a6946add6977b28e244c69606fd14db03">More...</a><br /></td></tr>
<tr class="separator:a6946add6977b28e244c69606fd14db03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66c7d92f84d1a1f7b1039a926b1a8f00"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00">m_total_to_send_acks_count</a></td></tr>
<tr class="memdesc:a66c7d92f84d1a1f7b1039a926b1a8f00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowledged.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00">More...</a><br /></td></tr>
<tr class="separator:a66c7d92f84d1a1f7b1039a926b1a8f00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aeb3e98e29538c66d045f7f2eac506e"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3aeb3e98e29538c66d045f7f2eac506e">m_good_to_send_acks_data_size</a></td></tr>
<tr class="memdesc:a3aeb3e98e29538c66d045f7f2eac506e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a6946add6977b28e244c69606fd14db03" title="Bytes in received DATA packets acknowledged thus far or that have been received and are pending to be...">m_total_to_send_acks_data_size</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a0cd0a3d7bb93f87bcf6e4cf23755d171" title="Of m_good_data_accepted_size, the data that were delivered into Receive buffer (either immediately up...">m_good_data_delivered_size</a>.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3aeb3e98e29538c66d045f7f2eac506e">More...</a><br /></td></tr>
<tr class="separator:a3aeb3e98e29538c66d045f7f2eac506e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5507bc7b5b9360f9b085452d85582530"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a5507bc7b5b9360f9b085452d85582530">m_good_to_send_acks_count</a></td></tr>
<tr class="memdesc:a5507bc7b5b9360f9b085452d85582530"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00" title="Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowl...">m_total_to_send_acks_count</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7e3501311edb5318fe3b9c8911b61b26" title="Of m_good_data_accepted_count, the data that were delivered into Receive buffer (either immediately u...">m_good_data_delivered_count</a>.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a5507bc7b5b9360f9b085452d85582530">More...</a><br /></td></tr>
<tr class="separator:a5507bc7b5b9360f9b085452d85582530"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8676c0e26253d78de31f1af00e44a0c9"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8676c0e26253d78de31f1af00e44a0c9">m_late_or_dupe_to_send_acks_data_size</a></td></tr>
<tr class="memdesc:a8676c0e26253d78de31f1af00e44a0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a6946add6977b28e244c69606fd14db03" title="Bytes in received DATA packets acknowledged thus far or that have been received and are pending to be...">m_total_to_send_acks_data_size</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a470a0b7806640ccf2da849c49996dd15" title="Of m_total_data_size, the data that had either already been received before or (more likely) had been...">m_late_or_dupe_data_size</a>.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8676c0e26253d78de31f1af00e44a0c9">More...</a><br /></td></tr>
<tr class="separator:a8676c0e26253d78de31f1af00e44a0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab85e49689ffd08900b3ade6a061ff338"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ab85e49689ffd08900b3ade6a061ff338">m_late_or_dupe_to_send_acks_count</a></td></tr>
<tr class="memdesc:ab85e49689ffd08900b3ade6a061ff338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00" title="Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowl...">m_total_to_send_acks_count</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7336961c1e0e488649311ada7cf0dc2a" title="Of m_total_data_count, the data that had either already been received before or (more likely) had bee...">m_late_or_dupe_data_count</a>.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ab85e49689ffd08900b3ade6a061ff338">More...</a><br /></td></tr>
<tr class="separator:ab85e49689ffd08900b3ade6a061ff338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a947c1ef859093cc52c257f006c687571"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a947c1ef859093cc52c257f006c687571">m_current_pending_acks_count</a></td></tr>
<tr class="memdesc:a947c1ef859093cc52c257f006c687571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00" title="Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowl...">m_total_to_send_acks_count</a>, the packets that have not yet been sent to the sender (pending acknowledgments).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a947c1ef859093cc52c257f006c687571">More...</a><br /></td></tr>
<tr class="separator:a947c1ef859093cc52c257f006c687571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ce8a80316f19b960ce99a92d8c43e92"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a4ce8a80316f19b960ce99a92d8c43e92">m_delayed_acks_count</a></td></tr>
<tr class="memdesc:a4ce8a80316f19b960ce99a92d8c43e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">The total number of individual packet acknowledgments whose sending was delayed (via delayed ACK mechanism) beyond the handler in which they were originally constructed.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a4ce8a80316f19b960ce99a92d8c43e92">More...</a><br /></td></tr>
<tr class="separator:a4ce8a80316f19b960ce99a92d8c43e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77855f9a844be7513158191875d1c4f2"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a77855f9a844be7513158191875d1c4f2">m_sent_individual_acks_count</a></td></tr>
<tr class="memdesc:a77855f9a844be7513158191875d1c4f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of DATA packets such that for a given packet an individual acknowledgment has been packaged into an ACK packet that has been sent or will be sent as soon as possible.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a77855f9a844be7513158191875d1c4f2">More...</a><br /></td></tr>
<tr class="separator:a77855f9a844be7513158191875d1c4f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7de6b1c501fee009e63639a177589a0c"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7de6b1c501fee009e63639a177589a0c">m_sent_low_lvl_acks_count</a></td></tr>
<tr class="memdesc:a7de6b1c501fee009e63639a177589a0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of low-level ACK packets that have been sent or will be sent as soon as possible.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7de6b1c501fee009e63639a177589a0c">More...</a><br /></td></tr>
<tr class="separator:a7de6b1c501fee009e63639a177589a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2d0497f399e890eb6cec9bc85427d63"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae2d0497f399e890eb6cec9bc85427d63">m_rcv_wnd_recovery_count</a></td></tr>
<tr class="memdesc:ae2d0497f399e890eb6cec9bc85427d63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of times we detected (heuristically but fairly reliably) that the following event occurred: our rcv_wnd (or free Receive buffer space) was exhausted; but then significatly freed by application-layer <code>receive()</code> calls.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae2d0497f399e890eb6cec9bc85427d63">More...</a><br /></td></tr>
<tr class="separator:ae2d0497f399e890eb6cec9bc85427d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11b5b29017bd45bdf822282d75c61bfc"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a11b5b29017bd45bdf822282d75c61bfc">m_rcv_wnd_recovery_success_count</a></td></tr>
<tr class="memdesc:a11b5b29017bd45bdf822282d75c61bfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae2d0497f399e890eb6cec9bc85427d63" title="Number of times we detected (heuristically but fairly reliably) that the following event occurred: ou...">m_rcv_wnd_recovery_count</a>, the number of times the recovery was successful: i.e., resulted in more data packets arriving from sender.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a11b5b29017bd45bdf822282d75c61bfc">More...</a><br /></td></tr>
<tr class="separator:a11b5b29017bd45bdf822282d75c61bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49f930549d48f8dd8239080707a236c2"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a49f930549d48f8dd8239080707a236c2">m_rcv_wnd_recovery_timeout_count</a></td></tr>
<tr class="memdesc:a49f930549d48f8dd8239080707a236c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae2d0497f399e890eb6cec9bc85427d63" title="Number of times we detected (heuristically but fairly reliably) that the following event occurred: ou...">m_rcv_wnd_recovery_count</a>, the number of times the recovery failed: i.e., resulted in a certain lengthy timeout firing before any more data packets arrived from sender.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a49f930549d48f8dd8239080707a236c2">More...</a><br /></td></tr>
<tr class="separator:a49f930549d48f8dd8239080707a236c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95629aa4094c8e9496081df11ca43787"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a95629aa4094c8e9496081df11ca43787">m_sent_low_lvl_rcv_wnd_only_acks_count</a></td></tr>
<tr class="memdesc:a95629aa4094c8e9496081df11ca43787"><td class="mdescLeft">&#160;</td><td class="mdescRight">Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7de6b1c501fee009e63639a177589a0c" title="Number of low-level ACK packets that have been sent or will be sent as soon as possible.">m_sent_low_lvl_acks_count</a>, the packets that contained no individual acknowledgments but are to be sent only to advertise rcv_wnd.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a95629aa4094c8e9496081df11ca43787">More...</a><br /></td></tr>
<tr class="separator:a95629aa4094c8e9496081df11ca43787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79a4c8e18f52ec046b885d4d691febb8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a79a4c8e18f52ec046b885d4d691febb8">m_max_buf_data_size</a></td></tr>
<tr class="memdesc:a79a4c8e18f52ec046b885d4d691febb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of bytes in the Receive buffer so far.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a79a4c8e18f52ec046b885d4d691febb8">More...</a><br /></td></tr>
<tr class="separator:a79a4c8e18f52ec046b885d4d691febb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afced8fb805507e2ac53bcb6b55441c0d"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::type_index, uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#afced8fb805507e2ac53bcb6b55441c0d">m_low_lvl_packet_size_by_type</a></td></tr>
<tr class="memdesc:afced8fb805507e2ac53bcb6b55441c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total size in serialized form of low-level packets received targeted at this socket, split up by polymorphic sub-type ID <code>type_index(typeid(p))</code>, where <code>p</code> is a reference to an instance of a sub-type of <a class="el" href="structflow_1_1net__flow_1_1Low__lvl__packet.html" title="Internal net_flow struct that encapsulates the Flow-protocol low-level packet structure and serves as...">Low_lvl_packet</a> (or, in English, by packet type).  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#afced8fb805507e2ac53bcb6b55441c0d">More...</a><br /></td></tr>
<tr class="separator:afced8fb805507e2ac53bcb6b55441c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8112a269f6cefddb4cdba4fd2995e05b"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::type_index, uint64_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8112a269f6cefddb4cdba4fd2995e05b">m_low_lvl_packet_count_by_type</a></td></tr>
<tr class="memdesc:a8112a269f6cefddb4cdba4fd2995e05b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count of low-level packets received targeted at this socket, split up by packet type similarly to <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#afced8fb805507e2ac53bcb6b55441c0d" title="Total size in serialized form of low-level packets received targeted at this socket,...">m_low_lvl_packet_size_by_type</a>.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8112a269f6cefddb4cdba4fd2995e05b">More...</a><br /></td></tr>
<tr class="separator:a8112a269f6cefddb4cdba4fd2995e05b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="related" name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p >(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:a26fb85d618cb12e9ee1b22f52bdfcaa5"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a26fb85d618cb12e9ee1b22f52bdfcaa5">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html">Peer_socket_receive_stats</a> &amp;stats)</td></tr>
<tr class="memdesc:a26fb85d618cb12e9ee1b22f52bdfcaa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the stats in the given stats object to the standard <code>ostream</code> and returns the latter.  <a href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a26fb85d618cb12e9ee1b22f52bdfcaa5">More...</a><br /></td></tr>
<tr class="separator:a26fb85d618cb12e9ee1b22f52bdfcaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >A data store that keeps stats about the incoming direction of a <a class="el" href="classflow_1_1net__flow_1_1Peer__socket.html" title="A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes an...">Peer_socket</a> connection to another Flow-protocol <a class="el" href="classflow_1_1net__flow_1_1Peer__socket.html" title="A peer (non-server) socket operating over the Flow network protocol, with optional stream-of-bytes an...">Peer_socket</a>. </p>
<p >Note that this also includes stats about <em>outgoing</em> traffic that facilitates further incoming traffic (namely, data on outgoing acknowledgments are in this structure).</p>
<p >The objects also have an <code>ostream</code> output interface for human-readability, e.g., for logs.</p>
<p >The user can obtain objects representing actual stats via <a class="el" href="classflow_1_1net__flow_1_1Peer__socket.html#aad81cc16fc6f0d353fdc1379e1dd4712" title="Returns a structure containing the most up-to-date stats about this connection.">Peer_socket::info()</a>.</p>
<h3>Thread safety</h3>
<p >Same as any <code>struct</code> with no locking done therein.</p>
<dl class="section warning"><dt>Warning</dt><dd>It is very heavily discouraged to make algorithmic decisions based on the data in these objects. They are for human diagnostics, information, and debugging only. For example, some data represented may pertain to internal implementation; other data may not be up-to-date; etc.</dd></dl>
<p >The internal implementation keeps this <code>struct</code> within the accumulator <a class="el" href="classflow_1_1net__flow_1_1Peer__socket__receive__stats__accumulator.html" title="A class that keeps a Peer_socket_receive_stats data store, includes methods to conveniently accumulat...">Peer_socket_receive_stats_accumulator</a> and has some methods to conveniently accumulate the stats. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00053">53</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aafe39b306483c4175593c10209280808" name="aafe39b306483c4175593c10209280808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafe39b306483c4175593c10209280808">&#9670;&nbsp;</a></span>Peer_socket_receive_stats()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">flow::net_flow::Peer_socket_receive_stats::Peer_socket_receive_stats </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructs object by initializing stats to their initial values. </p>

<p class="definition">Definition at line <a class="el" href="info_8cpp_source.html#l00028">28</a> of file <a class="el" href="info_8cpp_source.html">info.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a19d651860486de148e6e46466a5048e0" name="a19d651860486de148e6e46466a5048e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19d651860486de148e6e46466a5048e0">&#9670;&nbsp;</a></span>output()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void flow::net_flow::Peer_socket_receive_stats::output </td>
          <td>(</td>
          <td class="paramtype">std::ostream *&#160;</td>
          <td class="paramname"><em>os</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Outputs the current stats, across multiple lines but not ending with a newline, into the given output stream. </p>
<p ><code>operator&lt;&lt;()</code> uses this and is more likely to be used directly by the class user.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Stream to which to serialize. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="info_8cpp_source.html#l00068">68</a> of file <a class="el" href="info_8cpp_source.html">info.cpp</a>.</p>

<p class="reference">References <a class="el" href="info_8hpp_source.html#l00209">m_current_pending_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00215">m_delayed_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00150">m_error_data_count</a>, <a class="el" href="info_8hpp_source.html#l00145">m_error_data_size</a>, <a class="el" href="info_8hpp_source.html#l00096">m_good_data_accepted_count</a>, <a class="el" href="info_8hpp_source.html#l00091">m_good_data_accepted_size</a>, <a class="el" href="info_8hpp_source.html#l00085">m_good_data_count</a>, <a class="el" href="info_8hpp_source.html#l00107">m_good_data_delivered_count</a>, <a class="el" href="info_8hpp_source.html#l00102">m_good_data_delivered_size</a>, <a class="el" href="info_8hpp_source.html#l00128">m_good_data_dropped_buf_overflow_count</a>, <a class="el" href="info_8hpp_source.html#l00124">m_good_data_dropped_buf_overflow_size</a>, <a class="el" href="info_8hpp_source.html#l00139">m_good_data_dropped_reassembly_q_overflow_count</a>, <a class="el" href="info_8hpp_source.html#l00134">m_good_data_dropped_reassembly_q_overflow_size</a>, <a class="el" href="info_8hpp_source.html#l00118">m_good_data_first_qd_count</a>, <a class="el" href="info_8hpp_source.html#l00113">m_good_data_first_qd_size</a>, <a class="el" href="info_8hpp_source.html#l00083">m_good_data_size</a>, <a class="el" href="info_8hpp_source.html#l00191">m_good_to_send_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00186">m_good_to_send_acks_data_size</a>, <a class="el" href="info_8hpp_source.html#l00075">m_init_time</a>, <a class="el" href="info_8hpp_source.html#l00161">m_late_or_dupe_data_count</a>, <a class="el" href="info_8hpp_source.html#l00156">m_late_or_dupe_data_size</a>, <a class="el" href="info_8hpp_source.html#l00203">m_late_or_dupe_to_send_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00198">m_late_or_dupe_to_send_acks_data_size</a>, <a class="el" href="info_8hpp_source.html#l00273">m_low_lvl_packet_count_by_type</a>, <a class="el" href="info_8hpp_source.html#l00267">m_low_lvl_packet_size_by_type</a>, <a class="el" href="info_8hpp_source.html#l00260">m_max_buf_data_size</a>, <a class="el" href="info_8hpp_source.html#l00168">m_presumed_dropped_data_size</a>, <a class="el" href="info_8hpp_source.html#l00237">m_rcv_wnd_recovery_count</a>, <a class="el" href="info_8hpp_source.html#l00243">m_rcv_wnd_recovery_success_count</a>, <a class="el" href="info_8hpp_source.html#l00251">m_rcv_wnd_recovery_timeout_count</a>, <a class="el" href="info_8hpp_source.html#l00221">m_sent_individual_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00224">m_sent_low_lvl_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00257">m_sent_low_lvl_rcv_wnd_only_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00080">m_total_data_count</a>, <a class="el" href="info_8hpp_source.html#l00078">m_total_data_size</a>, <a class="el" href="info_8hpp_source.html#l00179">m_total_to_send_acks_count</a>, <a class="el" href="info_8hpp_source.html#l00174">m_total_to_send_acks_data_size</a>, and <a class="el" href="info_8cpp_source.html#l00408">flow::net_flow::Peer_socket_info::output_map_of_pkt_counts()</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00157">operator&lt;&lt;()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflow_1_1net__flow_1_1Peer__socket__receive__stats_a19d651860486de148e6e46466a5048e0_cgraph.svg" width="690" height="131"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflow_1_1net__flow_1_1Peer__socket__receive__stats_a19d651860486de148e6e46466a5048e0_icgraph.svg" width="339" height="59"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a26fb85d618cb12e9ee1b22f52bdfcaa5" name="a26fb85d618cb12e9ee1b22f52bdfcaa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26fb85d618cb12e9ee1b22f52bdfcaa5">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream &amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html">Peer_socket_receive_stats</a> &amp;&#160;</td>
          <td class="paramname"><em>stats</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prints string representation of the stats in the given stats object to the standard <code>ostream</code> and returns the latter. </p>
<p >The representation is multi-line but ends in no newline.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>Stream to which to print. </td></tr>
    <tr><td class="paramname">stats</td><td>Value to serialize. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>os</code>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="info_8cpp_source.html#l00157">157</a> of file <a class="el" href="info_8cpp_source.html">info.cpp</a>.</p>

<p class="reference">References <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflow_1_1net__flow_1_1Peer__socket__receive__stats_a26fb85d618cb12e9ee1b22f52bdfcaa5_cgraph.svg" width="878" height="131"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a947c1ef859093cc52c257f006c687571" name="a947c1ef859093cc52c257f006c687571"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a947c1ef859093cc52c257f006c687571">&#9670;&nbsp;</a></span>m_current_pending_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t flow::net_flow::Peer_socket_receive_stats::m_current_pending_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00" title="Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowl...">m_total_to_send_acks_count</a>, the packets that have not yet been sent to the sender (pending acknowledgments). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00209">209</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00104">flow::net_flow::Peer_socket_receive_stats_accumulator::current_pending_to_ack_packets()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a4ce8a80316f19b960ce99a92d8c43e92" name="a4ce8a80316f19b960ce99a92d8c43e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ce8a80316f19b960ce99a92d8c43e92">&#9670;&nbsp;</a></span>m_delayed_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_delayed_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The total number of individual packet acknowledgments whose sending was delayed (via delayed ACK mechanism) beyond the handler in which they were originally constructed. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00215">215</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00104">flow::net_flow::Peer_socket_receive_stats_accumulator::current_pending_to_ack_packets()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="ad6f4932b1bc69286febd8277835d034f" name="ad6f4932b1bc69286febd8277835d034f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6f4932b1bc69286febd8277835d034f">&#9670;&nbsp;</a></span>m_error_data_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_error_data_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7" title="Number of DATA packets received on socket.">m_total_data_count</a>, the data that contained some error about the sequence numbers so that they were not acceptable, and the connection did/will close as a result. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00150">150</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00069">flow::net_flow::Peer_socket_receive_stats_accumulator::error_data_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="aaab5980acef9c4e7c002daab7397f94a" name="aaab5980acef9c4e7c002daab7397f94a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaab5980acef9c4e7c002daab7397f94a">&#9670;&nbsp;</a></span>m_error_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_error_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64" title="Bytes in DATA packets received on socket.">m_total_data_size</a>, the data that contained some error about the sequence numbers so that they were not acceptable, and the connection did/will close as a result. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00145">145</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00069">flow::net_flow::Peer_socket_receive_stats_accumulator::error_data_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="ac0be15a545183127725bbd2ebf227e0a" name="ac0be15a545183127725bbd2ebf227e0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0be15a545183127725bbd2ebf227e0a">&#9670;&nbsp;</a></span>m_good_data_accepted_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_accepted_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4" title="Of m_total_data_count, the data that were new and acceptable into Receive buffer assuming there was s...">m_good_data_count</a>, the data that were not dropped (so either delivered into Receive buffer or queued for reassembly later). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00096">96</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00051">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_accepted_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a3cb56a1cc4e070af33d47ab3ff662801" name="a3cb56a1cc4e070af33d47ab3ff662801"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cb56a1cc4e070af33d47ab3ff662801">&#9670;&nbsp;</a></span>m_good_data_accepted_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_accepted_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c" title="Of m_total_data_size, the data that were new and acceptable into Receive buffer assuming there was sp...">m_good_data_size</a>, the data that were not dropped (so either delivered into Receive buffer or queued for reassembly later). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00091">91</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00051">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_accepted_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a8b59e09a406cfdc9f8da89213e18a0c4" name="a8b59e09a406cfdc9f8da89213e18a0c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b59e09a406cfdc9f8da89213e18a0c4">&#9670;&nbsp;</a></span>m_good_data_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7" title="Number of DATA packets received on socket.">m_total_data_count</a>, the data that were new and acceptable into Receive buffer assuming there was space. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00085">85</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00033">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a7e3501311edb5318fe3b9c8911b61b26" name="a7e3501311edb5318fe3b9c8911b61b26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e3501311edb5318fe3b9c8911b61b26">&#9670;&nbsp;</a></span>m_good_data_delivered_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_delivered_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac0be15a545183127725bbd2ebf227e0a" title="Of m_good_data_count, the data that were not dropped (so either delivered into Receive buffer or queu...">m_good_data_accepted_count</a>, the data that were delivered into Receive buffer (either immediately upon receipt or upon later reassembly). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00107">107</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00057">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_delivered_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a0cd0a3d7bb93f87bcf6e4cf23755d171" name="a0cd0a3d7bb93f87bcf6e4cf23755d171"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cd0a3d7bb93f87bcf6e4cf23755d171">&#9670;&nbsp;</a></span>m_good_data_delivered_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_delivered_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3cb56a1cc4e070af33d47ab3ff662801" title="Of m_good_data_size, the data that were not dropped (so either delivered into Receive buffer or queue...">m_good_data_accepted_size</a>, the data that were delivered into Receive buffer (either immediately upon receipt or upon later reassembly). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00102">102</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00057">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_delivered_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="af4024ec4c241badb79f8e0735f093c9e" name="af4024ec4c241badb79f8e0735f093c9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4024ec4c241badb79f8e0735f093c9e">&#9670;&nbsp;</a></span>m_good_data_dropped_buf_overflow_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_dropped_buf_overflow_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4" title="Of m_total_data_count, the data that were new and acceptable into Receive buffer assuming there was s...">m_good_data_count</a>, the data that were dropped due to insufficient Receive buffer space. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00128">128</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00039">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_dropped_buf_overflow_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="aacc55c11d8c8e74d4c74a257faea5af1" name="aacc55c11d8c8e74d4c74a257faea5af1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacc55c11d8c8e74d4c74a257faea5af1">&#9670;&nbsp;</a></span>m_good_data_dropped_buf_overflow_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_dropped_buf_overflow_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c" title="Of m_total_data_size, the data that were new and acceptable into Receive buffer assuming there was sp...">m_good_data_size</a>, the data that were dropped due to insufficient Receive buffer space. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00124">124</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00039">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_dropped_buf_overflow_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="ae37bfa34fa9e980357de1073356bedb6" name="ae37bfa34fa9e980357de1073356bedb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae37bfa34fa9e980357de1073356bedb6">&#9670;&nbsp;</a></span>m_good_data_dropped_reassembly_q_overflow_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_dropped_reassembly_q_overflow_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a8b59e09a406cfdc9f8da89213e18a0c4" title="Of m_total_data_count, the data that were new and acceptable into Receive buffer assuming there was s...">m_good_data_count</a>, the data that were dropped due to insufficient Receive reassembly queue space (only possible when retransmission is enabled). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00139">139</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00045">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_dropped_reassembly_q_overflow_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="ac60c34ed6092ae16ad85224f2ec0f0d0" name="ac60c34ed6092ae16ad85224f2ec0f0d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac60c34ed6092ae16ad85224f2ec0f0d0">&#9670;&nbsp;</a></span>m_good_data_dropped_reassembly_q_overflow_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_dropped_reassembly_q_overflow_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a70f72081dd9ff7c2c47a938d2a6b041c" title="Of m_total_data_size, the data that were new and acceptable into Receive buffer assuming there was sp...">m_good_data_size</a>, the data that were dropped due to insufficient Receive reassembly queue space (only possible when retransmission is enabled). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00134">134</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00045">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_dropped_reassembly_q_overflow_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="aefc1dc66a538c0cf28aa620d4e02fdf5" name="aefc1dc66a538c0cf28aa620d4e02fdf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefc1dc66a538c0cf28aa620d4e02fdf5">&#9670;&nbsp;</a></span>m_good_data_first_qd_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_first_qd_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ac0be15a545183127725bbd2ebf227e0a" title="Of m_good_data_count, the data that were not dropped (so either delivered into Receive buffer or queu...">m_good_data_accepted_count</a>, the data that were, upon receipt, queued for reassembly (not immediately delivered into Receive buffer). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00118">118</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00063">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_first_qd_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a9df996e495e6181f778dabeec446fd3e" name="a9df996e495e6181f778dabeec446fd3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9df996e495e6181f778dabeec446fd3e">&#9670;&nbsp;</a></span>m_good_data_first_qd_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_first_qd_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a3cb56a1cc4e070af33d47ab3ff662801" title="Of m_good_data_size, the data that were not dropped (so either delivered into Receive buffer or queue...">m_good_data_accepted_size</a>, the data that were, upon receipt, queued for reassembly (not immediately delivered into Receive buffer). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00113">113</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00063">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_first_qd_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a70f72081dd9ff7c2c47a938d2a6b041c" name="a70f72081dd9ff7c2c47a938d2a6b041c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70f72081dd9ff7c2c47a938d2a6b041c">&#9670;&nbsp;</a></span>m_good_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64" title="Bytes in DATA packets received on socket.">m_total_data_size</a>, the data that were new and acceptable into Receive buffer assuming there was space. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00083">83</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00033">flow::net_flow::Peer_socket_receive_stats_accumulator::good_data_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a5507bc7b5b9360f9b085452d85582530" name="a5507bc7b5b9360f9b085452d85582530"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5507bc7b5b9360f9b085452d85582530">&#9670;&nbsp;</a></span>m_good_to_send_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_to_send_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00" title="Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowl...">m_total_to_send_acks_count</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7e3501311edb5318fe3b9c8911b61b26" title="Of m_good_data_accepted_count, the data that were delivered into Receive buffer (either immediately u...">m_good_data_delivered_count</a>. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00191">191</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00092">flow::net_flow::Peer_socket_receive_stats_accumulator::good_to_send_ack_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a3aeb3e98e29538c66d045f7f2eac506e" name="a3aeb3e98e29538c66d045f7f2eac506e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aeb3e98e29538c66d045f7f2eac506e">&#9670;&nbsp;</a></span>m_good_to_send_acks_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_good_to_send_acks_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a6946add6977b28e244c69606fd14db03" title="Bytes in received DATA packets acknowledged thus far or that have been received and are pending to be...">m_total_to_send_acks_data_size</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a0cd0a3d7bb93f87bcf6e4cf23755d171" title="Of m_good_data_accepted_size, the data that were delivered into Receive buffer (either immediately up...">m_good_data_delivered_size</a>. </p>
<p >That is, bytes acknowledged due to being received and delivered into Receive buffer. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00186">186</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00092">flow::net_flow::Peer_socket_receive_stats_accumulator::good_to_send_ack_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="abacc466e97f1d85856572536d67adcde" name="abacc466e97f1d85856572536d67adcde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abacc466e97f1d85856572536d67adcde">&#9670;&nbsp;</a></span>m_init_time</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceflow.html#a9d9cc2eeb10d398cff5591d446b763b8">Fine_time_pt</a> flow::net_flow::Peer_socket_receive_stats::m_init_time</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The time this object (or source object from assignment) was made; should be about equal to when socket was made. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00075">75</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a7336961c1e0e488649311ada7cf0dc2a" name="a7336961c1e0e488649311ada7cf0dc2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7336961c1e0e488649311ada7cf0dc2a">&#9670;&nbsp;</a></span>m_late_or_dupe_data_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_late_or_dupe_data_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a893ca5129ab56fd57de0cdee92e59bd7" title="Number of DATA packets received on socket.">m_total_data_count</a>, the data that had either already been received before or (more likely) had been considered Dropped by now; therefore these data not delivered to Receive buffer. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00161">161</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00075">flow::net_flow::Peer_socket_receive_stats_accumulator::late_or_dupe_data_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a470a0b7806640ccf2da849c49996dd15" name="a470a0b7806640ccf2da849c49996dd15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a470a0b7806640ccf2da849c49996dd15">&#9670;&nbsp;</a></span>m_late_or_dupe_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_late_or_dupe_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a132cb2a966ede1bf5fe363e5885a0f64" title="Bytes in DATA packets received on socket.">m_total_data_size</a>, the data that had either already been received before or (more likely) had been considered Dropped by now; therefore these data not delivered to Receive buffer. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00156">156</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00075">flow::net_flow::Peer_socket_receive_stats_accumulator::late_or_dupe_data_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="ab85e49689ffd08900b3ade6a061ff338" name="ab85e49689ffd08900b3ade6a061ff338"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab85e49689ffd08900b3ade6a061ff338">&#9670;&nbsp;</a></span>m_late_or_dupe_to_send_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_late_or_dupe_to_send_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a66c7d92f84d1a1f7b1039a926b1a8f00" title="Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowl...">m_total_to_send_acks_count</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7336961c1e0e488649311ada7cf0dc2a" title="Of m_total_data_count, the data that had either already been received before or (more likely) had bee...">m_late_or_dupe_data_count</a>. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00203">203</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00098">flow::net_flow::Peer_socket_receive_stats_accumulator::late_or_dupe_to_send_ack_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a8676c0e26253d78de31f1af00e44a0c9" name="a8676c0e26253d78de31f1af00e44a0c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8676c0e26253d78de31f1af00e44a0c9">&#9670;&nbsp;</a></span>m_late_or_dupe_to_send_acks_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_late_or_dupe_to_send_acks_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a6946add6977b28e244c69606fd14db03" title="Bytes in received DATA packets acknowledged thus far or that have been received and are pending to be...">m_total_to_send_acks_data_size</a>, the data that also satisfy the criteria in <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a470a0b7806640ccf2da849c49996dd15" title="Of m_total_data_size, the data that had either already been received before or (more likely) had been...">m_late_or_dupe_data_size</a>. </p>
<p >That is, bytes acknowledged due to being received but no longer acceptable into Receive buffer (due to being duplicate or late). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00198">198</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00098">flow::net_flow::Peer_socket_receive_stats_accumulator::late_or_dupe_to_send_ack_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a8112a269f6cefddb4cdba4fd2995e05b" name="a8112a269f6cefddb4cdba4fd2995e05b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8112a269f6cefddb4cdba4fd2995e05b">&#9670;&nbsp;</a></span>m_low_lvl_packet_count_by_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::type_index, uint64_t&gt; flow::net_flow::Peer_socket_receive_stats::m_low_lvl_packet_count_by_type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Count of low-level packets received targeted at this socket, split up by packet type similarly to <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#afced8fb805507e2ac53bcb6b55441c0d" title="Total size in serialized form of low-level packets received targeted at this socket,...">m_low_lvl_packet_size_by_type</a>. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00273">273</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00153">flow::net_flow::Peer_socket_receive_stats_accumulator::low_lvl_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="afced8fb805507e2ac53bcb6b55441c0d" name="afced8fb805507e2ac53bcb6b55441c0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afced8fb805507e2ac53bcb6b55441c0d">&#9670;&nbsp;</a></span>m_low_lvl_packet_size_by_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::type_index, uint64_t&gt; flow::net_flow::Peer_socket_receive_stats::m_low_lvl_packet_size_by_type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Total size in serialized form of low-level packets received targeted at this socket, split up by polymorphic sub-type ID <code>type_index(typeid(p))</code>, where <code>p</code> is a reference to an instance of a sub-type of <a class="el" href="structflow_1_1net__flow_1_1Low__lvl__packet.html" title="Internal net_flow struct that encapsulates the Flow-protocol low-level packet structure and serves as...">Low_lvl_packet</a> (or, in English, by packet type). </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00267">267</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00153">flow::net_flow::Peer_socket_receive_stats_accumulator::low_lvl_packet()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="a79a4c8e18f52ec046b885d4d691febb8" name="a79a4c8e18f52ec046b885d4d691febb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79a4c8e18f52ec046b885d4d691febb8">&#9670;&nbsp;</a></span>m_max_buf_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t flow::net_flow::Peer_socket_receive_stats::m_max_buf_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum number of bytes in the Receive buffer so far. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00260">260</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="socket__stats_8cpp_source.html#l00148">flow::net_flow::Peer_socket_receive_stats_accumulator::buffer_fed()</a>, and <a class="el" href="info_8cpp_source.html#l00068">output()</a>.</p>

</div>
</div>
<a id="ab1b46c0670b98a87e106a91758a02f35" name="ab1b46c0670b98a87e106a91758a02f35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1b46c0670b98a87e106a91758a02f35">&#9670;&nbsp;</a></span>m_presumed_dropped_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_presumed_dropped_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Total number of bytes in hypothetical data packets that have been considered Dropped due to the number of later packets that have been received. </p>
<p >For each such packet that does arrive in the future (though unlikely), <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a470a0b7806640ccf2da849c49996dd15" title="Of m_total_data_size, the data that had either already been received before or (more likely) had been...">m_late_or_dupe_data_size</a> and <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7336961c1e0e488649311ada7cf0dc2a" title="Of m_total_data_count, the data that had either already been received before or (more likely) had bee...">m_late_or_dupe_data_count</a> will increase. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00168">168</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00081">flow::net_flow::Peer_socket_receive_stats_accumulator::presumed_dropped_data()</a>.</p>

</div>
</div>
<a id="ae2d0497f399e890eb6cec9bc85427d63" name="ae2d0497f399e890eb6cec9bc85427d63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2d0497f399e890eb6cec9bc85427d63">&#9670;&nbsp;</a></span>m_rcv_wnd_recovery_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_rcv_wnd_recovery_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of times we detected (heuristically but fairly reliably) that the following event occurred: our rcv_wnd (or free Receive buffer space) was exhausted; but then significatly freed by application-layer <code>receive()</code> calls. </p>
<p >When this event is detected we immediately attempt to inform the sender, so that it may resume sending (which it probably stopped due to empty receive window); we then periodically keep informing the sender of this, until more data arrive or a certain amount of time passes (whichever occurs first).</p>
<p >In some situations the sender simply stopping to send data (at the application layer) can be mistakenly identified as such an event, but this is basically harmless. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00237">237</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00138">flow::net_flow::Peer_socket_receive_stats_accumulator::rcv_wnd_recovery_event_start()</a>.</p>

</div>
</div>
<a id="a11b5b29017bd45bdf822282d75c61bfc" name="a11b5b29017bd45bdf822282d75c61bfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b5b29017bd45bdf822282d75c61bfc">&#9670;&nbsp;</a></span>m_rcv_wnd_recovery_success_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_rcv_wnd_recovery_success_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae2d0497f399e890eb6cec9bc85427d63" title="Number of times we detected (heuristically but fairly reliably) that the following event occurred: ou...">m_rcv_wnd_recovery_count</a>, the number of times the recovery was successful: i.e., resulted in more data packets arriving from sender. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00243">243</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00143">flow::net_flow::Peer_socket_receive_stats_accumulator::rcv_wnd_recovery_event_finish()</a>.</p>

</div>
</div>
<a id="a49f930549d48f8dd8239080707a236c2" name="a49f930549d48f8dd8239080707a236c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49f930549d48f8dd8239080707a236c2">&#9670;&nbsp;</a></span>m_rcv_wnd_recovery_timeout_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_rcv_wnd_recovery_timeout_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#ae2d0497f399e890eb6cec9bc85427d63" title="Number of times we detected (heuristically but fairly reliably) that the following event occurred: ou...">m_rcv_wnd_recovery_count</a>, the number of times the recovery failed: i.e., resulted in a certain lengthy timeout firing before any more data packets arrived from sender. </p>
<p >(This would happen either due to extremely loss, or because the sender had really stopped sending data at the application layer [so this was not a real rcv_wnd exhaustion event after all].) </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00251">251</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00143">flow::net_flow::Peer_socket_receive_stats_accumulator::rcv_wnd_recovery_event_finish()</a>.</p>

</div>
</div>
<a id="a77855f9a844be7513158191875d1c4f2" name="a77855f9a844be7513158191875d1c4f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77855f9a844be7513158191875d1c4f2">&#9670;&nbsp;</a></span>m_sent_individual_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_sent_individual_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of DATA packets such that for a given packet an individual acknowledgment has been packaged into an ACK packet that has been sent or will be sent as soon as possible. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00221">221</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00124">flow::net_flow::Peer_socket_receive_stats_accumulator::sent_individual_ack()</a>.</p>

</div>
</div>
<a id="a7de6b1c501fee009e63639a177589a0c" name="a7de6b1c501fee009e63639a177589a0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7de6b1c501fee009e63639a177589a0c">&#9670;&nbsp;</a></span>m_sent_low_lvl_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_sent_low_lvl_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of low-level ACK packets that have been sent or will be sent as soon as possible. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00224">224</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00129">flow::net_flow::Peer_socket_receive_stats_accumulator::sent_low_lvl_ack_packet()</a>.</p>

</div>
</div>
<a id="a95629aa4094c8e9496081df11ca43787" name="a95629aa4094c8e9496081df11ca43787"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95629aa4094c8e9496081df11ca43787">&#9670;&nbsp;</a></span>m_sent_low_lvl_rcv_wnd_only_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_sent_low_lvl_rcv_wnd_only_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Of <a class="el" href="structflow_1_1net__flow_1_1Peer__socket__receive__stats.html#a7de6b1c501fee009e63639a177589a0c" title="Number of low-level ACK packets that have been sent or will be sent as soon as possible.">m_sent_low_lvl_acks_count</a>, the packets that contained no individual acknowledgments but are to be sent only to advertise rcv_wnd. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00257">257</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00129">flow::net_flow::Peer_socket_receive_stats_accumulator::sent_low_lvl_ack_packet()</a>.</p>

</div>
</div>
<a id="a893ca5129ab56fd57de0cdee92e59bd7" name="a893ca5129ab56fd57de0cdee92e59bd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a893ca5129ab56fd57de0cdee92e59bd7">&#9670;&nbsp;</a></span>m_total_data_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_total_data_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of DATA packets received on socket. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00080">80</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00027">flow::net_flow::Peer_socket_receive_stats_accumulator::total_data_packet()</a>.</p>

</div>
</div>
<a id="a132cb2a966ede1bf5fe363e5885a0f64" name="a132cb2a966ede1bf5fe363e5885a0f64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a132cb2a966ede1bf5fe363e5885a0f64">&#9670;&nbsp;</a></span>m_total_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_total_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bytes in DATA packets received on socket. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00078">78</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00027">flow::net_flow::Peer_socket_receive_stats_accumulator::total_data_packet()</a>.</p>

</div>
</div>
<a id="a66c7d92f84d1a1f7b1039a926b1a8f00" name="a66c7d92f84d1a1f7b1039a926b1a8f00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66c7d92f84d1a1f7b1039a926b1a8f00">&#9670;&nbsp;</a></span>m_total_to_send_acks_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_total_to_send_acks_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of DATA packets acknowledged thus far or that have been received and are pending to be acknowledged. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00179">179</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00086">flow::net_flow::Peer_socket_receive_stats_accumulator::total_to_send_ack_packet()</a>.</p>

</div>
</div>
<a id="a6946add6977b28e244c69606fd14db03" name="a6946add6977b28e244c69606fd14db03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6946add6977b28e244c69606fd14db03">&#9670;&nbsp;</a></span>m_total_to_send_acks_data_size</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t flow::net_flow::Peer_socket_receive_stats::m_total_to_send_acks_data_size</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bytes in received DATA packets acknowledged thus far or that have been received and are pending to be acknowledged. </p>

<p class="definition">Definition at line <a class="el" href="info_8hpp_source.html#l00174">174</a> of file <a class="el" href="info_8hpp_source.html">info.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="info_8cpp_source.html#l00068">output()</a>, and <a class="el" href="socket__stats_8cpp_source.html#l00086">flow::net_flow::Peer_socket_receive_stats_accumulator::total_to_send_ack_packet()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>net_flow/<a class="el" href="info_8hpp_source.html">info.hpp</a></li>
<li>net_flow/<a class="el" href="info_8cpp_source.html">info.cpp</a></li>
<li>net_flow/<a class="el" href="net__flow__fwd_8hpp_source.html">net_flow_fwd.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Mar 28 2025 22:55:36 for Flow by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>
